jQuery.namespace = function() {  
        var a=arguments, o=null, i, j, d;    
        for (i=0; i<a.length; i=i+1) {        
            d=a[i].split(".");        
            o=jQuery;        
            for (j=(d[0] == "jQuery") ? 1 : 0; j<d.length; j=j+1) {            
                o[d[j]]=o[d[j]] || {};            
                o=o[d[j]];        
            }    
         }    
         return o;
};  


/*jquery 公共参数设置*/
$.ajaxSetup ({ 
	cache: false //close AJAX cache 
});


/*JS 封装*/
Otod = {};

Otod.ajax = function(options){
	options.type = options.type || "POST";
	if(!options.url){
		alert("参数配置错误，URL必填！");
		return;
	}
//	if(options.type == "get" || options.type == "GET"){
//		if(options.url.indexOf("?")>-1){
//			options.url = options.url +  "&Rand="+Math.random();
//		}else{
//			options.url = options.url +  "?Rand="+Math.random();
//		}
//	}
	options.contentType = options.contentType || "application/json";
	options.dataType = options.dataType  ||  "json";
	options.async = typeof(options.async)=="undefined" ? true : options.async;
	options.success = function(data) {
		if (data.failure == true) {
			if(jQuery.isFunction( options.errorFn )){
				options.errorFn(data);
			}else{
				BootstrapDialog.show({
	                type: BootstrapDialog.TYPE_INFO,
	                title: '错误',
	                message: data.info,
	                buttons: [{
	                    label: '确定',
	                    cssClass: 'btn-info',
	                    action: function(dialogRef){
	                        dialogRef.close();
	                    }
	                }]
	            }); 
			}
		}else{
			if(jQuery.isFunction( options.successFn )){
				options.successFn(data);
			}
		}
	};
	options.error = function(XMLHttpRequest, textStatus, errorThrown) {
		BootstrapDialog.show({
            type: BootstrapDialog.TYPE_INFO,
            title: '错误',
            message: '访问异常！',
            buttons: [{
                label: '确定',
                cssClass: 'btn-info',
                action: function(dialogRef){
                    dialogRef.close();
                }
            }]
        }); 
	};
	
	
	$.ajax(options);
}












/**
 * StringBuffer 构造函数
 * @class  字符串迭加函数，效率高于字符串相加
 * @param {String} initStr 可选项，初始字符串
 * @constructor
 */
function StringBuffer(initStr) {
    var _arr = [];
    if (initStr) {
        _arr.push(initStr);
    }

    /**
     * 向字符串缓冲区追加字符串
     * @type String
     */
    this.append = function(str) {
        _arr.push(str);
        return this;
    }

    /**
     * 转成指定分隔的字符串
     * @type String
     */
    this.toString = function(split) {
        return _arr.join(split ? split : "");
    }
    /**
     * 得到字符串个数，每调用一次append方法，数量加1
     * @type int
     */
    this.size = function() {
        return _arr.length;
    }

    /**
     * 清除字符串缓冲区
     * @type void
     */
    this.clear = function() {
        _arr = [];
    }

    /**
     * 判断字符串缓冲区是否为空
     * @type boolean
     */
    this.isEmpty = function() {
        return _arr.length == 0;
    }
}